package com.jeethink.crm.domain;

import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.jeethink.common.annotation.Excel;
import com.jeethink.common.annotation.Excel.Type;
import com.jeethink.common.core.domain.BaseEntity;

/**
 * 费用收支对象 finance_fee
 * 
 * @author jeethink
 * @date 2020-04-15
 */
public class FinanceFee extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 费用收支ID */
    private Long feeId;

    /** 关联客户ID */
    @Excel(name = "客户ID")
    private Long customerId;    

    @Excel(name = "客户名称", targetAttr = "customerName", type = Type.EXPORT)
    private CrmCustomer customer;

    /** 关联订单ID，保留 */
    @Excel(name = "订单ID")
    private Long orderId;

    /** 供应商id，保留 */
    @Excel(name = "供应商id，保留")
    private Long supplierId;

    /** 关联id，入库单、出库单等，保留 */
    @Excel(name = "关联id，入库单、出库单等，保留")
    private Long referId;
    
    /** 订单对象 */
    @Excel(name = "订单主题", targetAttr = "orderName", type = Type.EXPORT)
    private CrmOrder order;

    /** 费用收支名称 */
    @Excel(name = "费用收支名称")
    private String feeName;

    /** 收支金额 */
    @Excel(name = "收支金额")
    private Double feeMoney;

    /** 收支日期 */
    @Excel(name = "收支日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date feeDate;

    /** 收支类型 */
    @Excel(name = "收支类型")
    private String feeType;

    /** 收支状态 */
    @Excel(name = "收支状态")
    private String feeStatus;

    /** 删除标识 */
    private String delFlag;

    public void setFeeId(Long feeId) 
    {
        this.feeId = feeId;
    }

    public Long getFeeId() 
    {
        return feeId;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }    
    
    public Long getSupplierId() {
		return supplierId;
	}

	public void setSupplierId(Long supplierId) {
		this.supplierId = supplierId;
	}

	public Long getReferId() {
		return referId;
	}

	public void setReferId(Long referId) {
		this.referId = referId;
	}

	public CrmCustomer getCustomer() {
		return customer;
	}

	public void setCustomer(CrmCustomer customer) {
		this.customer = customer;
	}

	public CrmOrder getOrder() {
		return order;
	}

	public void setOrder(CrmOrder order) {
		this.order = order;
	}

	public void setFeeName(String feeName) 
    {
        this.feeName = feeName;
    }

    public String getFeeName() 
    {
        return feeName;
    }
    public void setFeeMoney(Double feeMoney) 
    {
        this.feeMoney = feeMoney;
    }

    public Double getFeeMoney() 
    {
        return feeMoney;
    }
    public void setFeeDate(Date feeDate) 
    {
        this.feeDate = feeDate;
    }

    public Date getFeeDate() 
    {
        return feeDate;
    }
    public void setFeeType(String feeType) 
    {
        this.feeType = feeType;
    }

    public String getFeeType() 
    {
        return feeType;
    }
    public void setFeeStatus(String feeStatus) 
    {
        this.feeStatus = feeStatus;
    }

    public String getFeeStatus() 
    {
        return feeStatus;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("feeId", getFeeId())
            .append("customerId", getCustomerId())
            .append("orderId", getOrderId())
            .append("supplierId", getSupplierId())
            .append("referId", getReferId())
            .append("feeName", getFeeName())
            .append("feeMoney", getFeeMoney())
            .append("feeDate", getFeeDate())
            .append("feeType", getFeeType())
            .append("feeStatus", getFeeStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
